var mysql = require('mysql');
let CreateDatabase = require('./CreateDatabase');
let { host, port, user, password, database, multipleStatements } = require('./config');

module.exports = async function (fn) {
    // mysqljs 连接 mysql数据库
    let connection = await mysql.createConnection({
        host, // mysql所在的主机，本地的话就是 127.0.0.1 或者 localhost, 如果数据库在服务器上，就写服务器的ip
        port,
        user, // mysql的用户名
        password, // mysql的密码
        multipleStatements, // 多语句执行
        database // 你要连接那个数据库
    })

    // 连接 mysql
    await connection.connect(async err => {
        // err代表失败
        if (err) {
            console.log("connectionMysql.js -  数据库初始化失败");
            console.log('connectionMysql.js -  ', err.message)
            // 断开链接
            connection.end();
            console.log('connectionMysql.js -  关闭数据库链接',)
            // 没有对应的mysql数据库
            if (err.message.includes('Unknown database')) {
                console.log('connectionMysql.js -  没有对应的mysql数据库，执行创建数据库的命令！！！')
                connection = await CreateDatabase()
            }
        } else {
            console.log("connectionMysql.js -  数据库初始化成功");
        }
        fn && fn(connection)
    })
    return connection;
};